The present invention relates to the field of digital imaging, and more particularly to representing an extended color gamut digital image.
In digital imaging systems, there are many ways to represent images in digital form. Not only are there many different formats of digital files, but there is also a large variety of different color spaces and color encodings that can be used to specify the color of digital images.
In some cases, the color encoding may be in terms of a so-called device independent color space, such as the well-known CIELAB color space. In recent years, this color space has been used extensively to specify the color of digital images in color-managed digital imaging systems. In some cases, the image may actually be stored in the CIELAB color space. More commonly, the color space may be used to connect device profiles, which can be used to describe the color characteristics of various color imaging devices such as scanners, printers, and CRT video displays. The KODAK PhotoYCC Color Interchange Space is another example of a device independent color space that can be used to encode digital images.
In other cases, the color-encoding may be in terms of a device dependent color space. Video RGB color spaces and CMYK color spaces are examples of this type. When a color image is encoded in a device dependent color space, it will have the desired color appearance when it is displayed on the particular output device associated with that color space. The advantage of a device dependent color space is that the image is ready to be displayed or printed on the target device. However, the disadvantage is that the image will necessarily be limited to the color gamut of the target device. The color gamut of an imaging device refers to the range of colors and luminance values that can be produced by the device. Therefore, if the target device has a limited dynamic range, or is incapable of reproducing certain saturated colors, then it is not possible to encode color values outside of the range of colors that can be produced on the device.
One type of device dependent color space that has become quite widespread for use as a storage and manipulation color space for digital images is the video RGB color space. In reality, there are many different video RGB color spaces due to the fact that there are many different types of video RGB displays. As a result, a particular set of video RGB color values will correspond to one color on one video display and to another color on another video display. Therefore, video RGB has historically been a somewhat ambiguous color representation because the color values can not be properly interpreted unless the characteristics of the target video display are known. Nonetheless, video RGB color spaces have become the defacto standard in many applications because the creation, display and editing of images on video displays are central steps in many digital imaging systems.
Recently, there have been efforts to standardize a particular video RGB color space in order to remove the ambiguity in the interpretation of the color values. One such proposed standard color space is known as xe2x80x9csRGB.xe2x80x9d (See xe2x80x9cMultimedia Systems and Equipment-Colour Measurement and Management-Part 2-1: Colour Management-Default RGB Colour Space-sRGB, xe2x80x3IECxe2x80x9d61966-2-1) This color space specifies a particular set of red, green, and blue primaries, a particular white-point, and a particular non-linear code value to light intensity relationship. Together, these tightly define the overall relationship between the digital code values and the corresponding device independent color values.
Although the use of a standard video RGB color space eliminates much of the ambiguity usually associated with video RGB color spaces, it does nothing to address the fact that this color space has a limited color gamut relative to other output devices. Additionally, any output device will have a limited color gamut relative to that of an original scene. For example, a scene may have a luminance dynamic range of 1000:1 or more, whereas a typical video display or reflection print will have a dynamic range on the order of 100:1. Certain image capture devices, such as photographic negative film, can record dynamic ranges as large as 8000:1. Even though this is larger than the luminance dynamic range associated with most scenes, the extra dynamic range is often useful to provide allowance for exposure errors, light source variations, etc.
In order to encode images from various sources in a video RGB representation, it is necessary to discard information that is outside the color gamut of the video RGB color space. In some cases, such as when it is desired to encode the appearance of colors in an original scene or the colors captured by a photographic negative, a great deal of information will typically need to be discarded due to the large disparity in the dynamic ranges. For the case where it is desired to scan a reflection print and store it in a video RGB color space, it is still necessary to discard a substantial amount of information due to the mismatch in the color gamuts, even though the luminance dynamic ranges may be quite similar.
For example, FIG. 1 shows a comparison of a typical Video RGB Color Gamut 10 and a typical Reflection Print Color Gamut 12. In this case, a*-b* cross-sections of the color gamuts are shown in the CIELAB space at an L* of 65. The colors that are inside the boundary are within the gamuts of the respective devices, while those that are outside the boundary cannot be reproduced, and are therefore referred to as xe2x80x9cout-of-gamutxe2x80x9d colors. It can be seen that there is a large set of color values with a b* value larger than 60 that can be produced on the printer, but are outside the color gamut of the video display. As a result, if the reflection print were scanned and stored in a video RGB color space, it would not be possible to encode this color information.
The mismatch between the video RGB color gamut and the color gamuts of other output devices and image sources represents a serious limitation on the usefulness of the video RGB color space. However, in many cases, the convenience of storing the image in a color space that is ready for direct display on a computer video CRT has been the over-riding factor in the determination of the preferred color space. This has come at the expense of applications that can utilize the extended color gamut information that may have existed in an input image. This extended color gamut information can be useful for many different types of image processing operations.
It is an object of the present invention to overcome the limitations of the prior art by using a residual image to store the information that is lost during the process of forming a limited color gamut digital image from an extended color gamut digital image. The residual image can then be analyzed to provide image information parameters that can be used in the process of applying one or more image processing operations to the digital image.
These objects are achieved by a method for determining information parameter(s) useful in processing a digital image having color values with an extended color gamut, comprising the steps of:
a) adjusting the color values of the extended color gamut digital image to fit within a limited color gamut to form a limited color gamut digital image;
b) determining a residual image representing a difference between the extended color gamut digital image and the limited color gamut digital image; and
c) analyzing the residual image to determine one or more image information parameter(s) related to the information contained in the residual image such parameter(s) being useful in processing the digital image.
In another aspect of the present invention, the image information parameter(s) are used in the process of applying one or more image processing operations to the extended color gamut digital image or a derived digital image formed from the extended color gamut digital image to form a modified digital image.
The present invention has an advantage in that a digital image can be stored in a color space convenient for a particular application while overcoming the color gamut limitation associated with that color space. Associated image information parameter(s) can then be used to select or modify image processing operations to be applied to the digital image.
The present invention has an additional advantage that it can be used to determine what image processing operations should be interactively presented to a user.